Course Name | Introduction to Programming II |
Code | Semester | Theory (hour/week) | Application/Lab (hour/week) | Local Credits | ECTS |
---|---|---|---|---|---|
SE 116 | Spring | 2 | 2 | 3 | 6 |
Prerequisites |
| ||||||||
Course Language | English | ||||||||
Course Type | Required | ||||||||
Course Level | First Cycle | ||||||||
Mode of Delivery | - | ||||||||
Teaching Methods and Techniques of the Course | Group WorkProblem SolvingApplication: Experiment / Laboratory / WorkshopLecture / Presentation | ||||||||
Course Coordinator | |||||||||
Course Lecturer(s) | |||||||||
Assistant(s) |
Course Objectives | This course aims to provide the students with general principles underlying the practice of object-oriented programming using Java programming language. In this course, the students will learn the main concepts of object-oriented programming including classes, objects, data members, methods, inheritance, and polymorphism. Object-oriented programming techniques such as implementation of inheritance and polymorphism using abstract classes will also be covered. |
Learning Outcomes | The students who succeeded in this course;
|
Course Description | This course covers the fundamental concepts of object-oriented programming using Java programming language. |
Related Sustainable Development Goals | |
| Core Courses | X |
Major Area Courses | ||
Supportive Courses | ||
Media and Managment Skills Courses | ||
Transferable Skill Courses |
Week | Subjects | Required Materials |
1 | Introduction to Object Oriented Programming, OO Design Principles (Abstraction, Encapsulation, Modularity), Classes | Java How to Program, 10/e (Early Objects) Global Edition, Chapters 3 and 8 |
2 | Thinking in Objects | Java How to Program, 10/e (Early Objects) Global Edition, Chapters 3 and 8 |
3 | Java Collections Framework | Java How to Program, 10/e (Early Objects) Global Edition, Chapter 16 |
4 | Extending Classes (Inheritance), The Object Class, Annotations, Packages, Nested Classes | Java How to Program, 10/e (Early Objects) Global Edition, Chapter 9 |
5 | Polymorphism | Java How to Program, 10/e (Early Objects) Global Edition, Chapter 10 |
6 | Interfaces and Abstract Classes | Java How to Program, 10/e (Early Objects) Global Edition, Chapter 10 |
7 | Exceptions | Java How to Program, 10/e (Early Objects) Global Edition, Chapter 11 |
8 | Streams, Buffers, Serialization | Java How to Program, 10/e (Early Objects) Global Edition, Chapter 15 |
9 | Text Processing with Regular Expressions | Java How to Program, 10/e (Early Objects) Global Edition, Chapter 14 |
10 | Midterm Exam | |
11 | Generic Classes and Methods | Java How to Program, 10/e (Early Objects) Global Edition, Chapter 20 |
12 | Best Practices I | Effective Java, Third Edition |
13 | Best Practices II | Effective Java, Third Edition |
14 | Project Presentations | |
15 | Semester Review | |
16 | Final Exam |
Course Notes/Textbooks | Java How to Program, 10/e (Early Objects), Global Edition, Paul Deitel and Harvey Deitel, Pearson, ISBN13: 9781292018195 |
Suggested Readings/Materials | Effective Java, Third Edition, Joshua Bloch, Addison-Wesley, ISBN13: 978-0134685991 Available Java tutorials on the Web (such as https://www.tutorialspoint.com/java) Introduction to Programming Using Java, v.7, David J. Eck, http://math.hws.edu/javanotes/ |
Semester Activities | Number | Weigthing |
Participation | ||
Laboratory / Application | 1 | 10 |
Field Work | ||
Quizzes / Studio Critiques | ||
Portfolio | ||
Homework / Assignments | ||
Presentation / Jury | ||
Project | 1 | 20 |
Seminar / Workshop | ||
Oral Exam | ||
Midterm | 1 | 30 |
Final Exam | 1 | 40 |
Total |
Weighting of Semester Activities on the Final Grade | 3 | 60 |
Weighting of End-of-Semester Activities on the Final Grade | 1 | 40 |
Total |
Semester Activities | Number | Duration (Hours) | Workload |
---|---|---|---|
Course Hours (Including exam week: 16 x total hours) | 16 | 2 | 32 |
Laboratory / Application Hours (Including exam week: 16 x total hours) | 16 | 2 | |
Study Hours Out of Class | 14 | 5 | 70 |
Field Work | |||
Quizzes / Studio Critiques | |||
Portfolio | |||
Homework / Assignments | |||
Presentation / Jury | |||
Project | 1 | 25 | |
Seminar / Workshop | |||
Oral Exam | |||
Midterms | 1 | 9 | |
Final Exams | 1 | 12 | |
Total | 180 |
# | Program Competencies/Outcomes | * Contribution Level | ||||
1 | 2 | 3 | 4 | 5 | ||
1 | To have adequate knowledge in Mathematics, Science and Computer Engineering; to be able to use theoretical and applied information in these areas on complex engineering problems. | X | ||||
2 | To be able to identify, define, formulate, and solve complex Computer Engineering problems; to be able to select and apply proper analysis and modeling methods for this purpose. | X | ||||
3 | To be able to design a complex system, process, device or product under realistic constraints and conditions, in such a way as to meet the requirements; to be able to apply modern design methods for this purpose. | X | ||||
4 | To be able to devise, select, and use modern techniques and tools needed for analysis and solution of complex problems in Computer Engineering applications; to be able to use information technologies effectively. | X | ||||
5 | To be able to design and conduct experiments, gather data, analyze and interpret results for investigating complex engineering problems or Computer Engineering research topics. | |||||
6 | To be able to work efficiently in Computer Engineering disciplinary and multi-disciplinary teams; to be able to work individually. | X | ||||
7 | To be able to communicate effectively in Turkish, both orally and in writing; to be able to author and comprehend written reports, to be able to prepare design and implementation reports, to present effectively, to be able to give and receive clear and comprehensible instructions. | |||||
8 | To have knowledge about global and social impact of Computer Engineering practices on health, environment, and safety; to have knowledge about contemporary issues as they pertain to engineering; to be aware of the legal ramifications of Computer Engineering solutions. | |||||
9 | To be aware of ethical behavior, professional and ethical responsibility; to have knowledge about standards utilized in engineering applications. | |||||
10 | To have knowledge about industrial practices such as project management, risk management, and change management; to have awareness of entrepreneurship and innovation; to have knowledge about sustainable development. | |||||
11 | To be able to collect data in the area of Computer Engineering, and to be able to communicate with colleagues in a foreign language. ("European Language Portfolio Global Scale", Level B1) | |||||
12 | To be able to speak a second foreign language at a medium level of fluency efficiently. | |||||
13 | To recognize the need for lifelong learning; to be able to access information, to be able to stay current with developments in science and technology; to be able to relate the knowledge accumulated throughout the human history to Computer Engineering. |
*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest